package com.ruihao.cetralizelogin.commons.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 接入系統模型
 * @author sly
 * @time 2019年9月9日
 */
public class System implements Serializable {
    private static final long serialVersionUID = -9007658747944789805L;

    /** ID varchar(50) not null comment '主键ID' */
    private String id;
    /** SYSTEM_CODE varchar(50) comment '接入系统CODE' */
    private String systemCode;
    /** SYSTEM_NAME varchar(100) comment '接入系统名称' */
    private String systemName;
    /** SYSTEM_TYPE char(1) comment '系统类型（0：预制系统、1：业务系统）' */
    private String systemType;
    /** SYSTEM_SHORTNAME varchar(50) comment '接入系统简称' */
    private String systemShortName;
    /** SYSTEM_URL varchar(500) comment '接入系统访问URL（带IP或域名）' */
    private String systemUrl;
    /** AUTH_FILTER char(1) comment '该子系统是否进行统一鉴权（0：是、1：否）' */
    private String authFilter;
    /** REMARK varchar(500) comment '接入系统备注信息' */
    private String remark;
    /** ICON_FILEID varchar(50) comment '小ICON，关联附件ID' */
    private String iconFileId;
    /** ICONBIG_FILEID varchar(50) comment '大ICON，关联附件ID' */
    private String iconbigFileId;
    /** CREATE_TIME datetime comment '创建时间' */
    private Date createTime;
    /** SORT_NUM int(9) comment '排序号' */
    private Integer sortNum;
    /** AUTH_GRAIN char(1) comment '权限控制颗粒度（0：菜单级、1：按钮级、2：系统级）' */
    private String authGrain;
    /** PERM_LICENCE varchar(50) comment '系统接入许可证（32位UUID）' */
    private String permLicence;
    /** OPEN_TYPE char(1) comment '系统打开方式（0：ifream打开、1：新窗口打开）', */
    private String openType;

    /**
     * 查询参数--开始时间
     */
    private String startDate;
    /**
     * 查询参数--结束时间
     */
    private String endDate;
    /**
     * 系统的角色
     */
    private List<Role> roles = new ArrayList<Role>();

    /**
     * 是否授权
     */
    private boolean auth = false;

    /** 小图标 */
    private FileAttach smartFile;
    /** 大图标 */
    private FileAttach bigFile;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSystemCode() {
        return systemCode;
    }

    public void setSystemCode(String systemCode) {
        this.systemCode = systemCode;
    }

    public String getSystemName() {
        return systemName;
    }

    public void setSystemName(String systemName) {
        this.systemName = systemName;
    }

    public String getSystemType() {
        return systemType;
    }

    public void setSystemType(String systemType) {
        this.systemType = systemType;
    }

    public String getSystemShortName() {
        return systemShortName;
    }

    public void setSystemShortName(String systemShortName) {
        this.systemShortName = systemShortName;
    }

    public String getSystemUrl() {
        return systemUrl;
    }

    public void setSystemUrl(String systemUrl) {
        this.systemUrl = systemUrl;
    }

    public String getAuthFilter() {
        return authFilter;
    }

    public void setAuthFilter(String authFilter) {
        this.authFilter = authFilter;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getIconFileId() {
        return iconFileId;
    }

    public void setIconFileId(String iconFileId) {
        this.iconFileId = iconFileId;
    }

    public String getIconbigFileId() {
        return iconbigFileId;
    }

    public void setIconbigFileId(String iconbigFileId) {
        this.iconbigFileId = iconbigFileId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getSortNum() {
        return sortNum;
    }

    public void setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
    }

    public String getAuthGrain() {
        return authGrain;
    }

    public void setAuthGrain(String authGrain) {
        this.authGrain = authGrain;
    }

    public String getPermLicence() {
        return permLicence;
    }

    public void setPermLicence(String permLicence) {
        this.permLicence = permLicence;
    }

    public String getOpenType() {
        return openType;
    }

    public void setOpenType(String openType) {
        this.openType = openType;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public List<Role> getRoles() {
        return roles;
    }

    public void setRoles(List<Role> roles) {
        this.roles = roles;
    }

    public boolean isAuth() {
        return auth;
    }

    public void setAuth(boolean auth) {
        this.auth = auth;
    }

    public FileAttach getSmartFile() {
        return smartFile;
    }

    public void setSmartFile(FileAttach smartFile) {
        this.smartFile = smartFile;
    }

    public FileAttach getBigFile() {
        return bigFile;
    }

    public void setBigFile(FileAttach bigFile) {
        this.bigFile = bigFile;
    }
}
